Valuation of invitational content slots based on user attentiveness

ABSTRACT

Methods and arrangements are provided to valuate advertising slots for a client device based on events that are detected on the device. The cost of the advertising slots can vary according to the timing of the user interactions or according to different classifications for the client device that are determined based on the events. The cost of the advertising slot can be determined before or after the invitational content is provided to the client device.

TECHNICAL FIELD

The present technology pertains to valuing invitational content slotsaccording to the attentiveness of the device user, based on eventsdetected on a client device.

BACKGROUND

Online advertising is widely used by advertisers to market theirproducts via electronic devices such as mobile phones, tablets, personalcomputers, or any other network enabled computing device. Given thewidespread availability of these types of electronic devices, onlineadvertising can be an extremely effective way for advertisers to reach awide mass of potential customers and induce numerous users to purchasetheir products. By targeting users with effective online advertisements,advertisers can yield large financial returns from their advertisements.Not surprisingly, many advertisers place a premium value on advertisingspace that is more likely to reach their target audience.

The value of an online advertising slot is determined in a number ofways. For example, the slot's valuation will vary depending on thetargeted demographics such as age, income, gender, ethnicity, level ofeducation, occupation, etc. In addition, the valuation will also vary bygeographic region and time of delivery. However, while an advertisementmay be tailored for and delivered to a particular audience, its value isminimal if the user is not engaged with the electronic device when it isdelivered. In general, an online advertisement will be delivered to anelectronic device without any knowledge of the user's presentattentiveness to the device. Consequently, many such advertisements aredelivered to an electronic device but are never actually seen or heardby the user because the user was not actively engaged with the device orwas otherwise preoccupied at the time of delivery.

SUMMARY

Additional features and advantages of the disclosure will be set forthin the description that follows, and in part will be obvious from thedescription, or can be learned by practice of the herein disclosedprinciples. The features and advantages of the disclosure can berealized and obtained by means of the instruments and combinationsparticularly pointed out in the appended claims. These and otherfeatures of the disclosure will become more fully apparent from thefollowing description and appended claims, or can be learned by thepractice of the principles set forth herein.

The approaches set forth herein can be used to valuate advertising timeslots based on the likelihood that it will be viewed by the device user.This can be gauged by monitoring the device for events and keeping trackof the time and the types of events to determine the receptiveness ofthe device user. Disclosed are systems, methods, and non-transitorycomputer-readable storage media for creating and processing the presenttechnology.

One aspect of the present technology involves detecting an event on adevice that has an open advertising slot. The event can be used toassign a classification to the device and the classification can be usedto determine the cost for the open advertising slot on the device.Accordingly, an advertising item is provided to the device for the openslot.

The device classification can be based on a number of factors. Forexample, the device can be classified based on the amount of time fromthe detected event. Alternatively, the classification can be based onuser interactions that are further defined as either positive ornegative events. A positive event type would result in a higher cost forthe open ad slot. The present technology can also detect an eventdefined as the lack of a user interaction. These events can beassociated with applications running on the user device, such as a musicplaying application.

Another aspect of the present technology involves detecting an event ona device that has an open advertising slot and then identifying variouscost windows based on the detected event. The present technology willidentify at least two cost windows, each having different costsassociated with the delivery of an advertisement. After the openadvertising slot is filled, the cost of the slot may be obtained as perthe identified cost windows according to the time the slot was actuallyfilled.

Alternatively, the cost of the advertising slot can be obtained prior toproviding the advertisement to the device. This allows the presenttechnology to select the particular advertisement to provide for theopen slot based on the predetermined slot cost.

The cost windows can be defined in a number of different ways. In oneexample, the first cost window can have a fixed time duration thatcommences upon the detection of the event. Alternatively, the first costwindow can be defined according to the average amount of time betweenthe detected events. In one embodiment, the first cost window can beassociated with a higher delivery cost for the open slot than the secondcost window.

Another aspect of the present technology involves recording the timewhen the event is detected and when the advertising is subsequentlyprovided to the device. The cost for the slot can be obtained based onthe time that has elapsed between the two. For example, the cost for theslot can decrease as the time elapsed since the event increases. Thecost can be modified further based on a classification for the eventtype that was detected.

Another aspect of the present technology involves using the detectedevent to determine a mood classification for the client device. The moodclassification can be used to further adjust the cost of the openadvertising slot. For example, the mood classification can be a positivemood or a negative mood, according to the detected event. If the deviceis classified as having a positive mood, then the cost for the openadvertising slot can be adjusted upward. Likewise, if the device isclassified as having a negative mood, this can result in the cost of theslot being adjusted downward.

BRIEF DESCRIPTION OF THE DRAWINGS

In order to describe the manner in which the above-recited and otheradvantages and features of the disclosure can be obtained, a moreparticular description of the principles briefly described above will berendered by reference to specific embodiments thereof which areillustrated in the appended drawings. Understanding that these drawingsdepict only exemplary embodiments of the disclosure and are nottherefore to be considered to be limiting of its scope, the principlesherein are described and explained with additional specificity anddetail through the use of the accompanying drawings in which:

FIG. 1 illustrates an exemplary configuration of devices and a network;

FIG. 2 illustrates an exemplary method embodiment;

FIG. 3 illustrates an exemplary method embodiment;

FIGS. 4A, 4B and 4C illustrate graphical representations of the variouscost windows;

FIG. 5 illustrates an exemplary method embodiment;

FIG. 6 illustrates an exemplary method embodiment;

FIG. 7A and FIG. 7B illustrate exemplary system embodiments.

DESCRIPTION

Various embodiments of the disclosure are discussed in detail below.While specific implementations are discussed, it should be understoodthat this is done for illustration purposes only. A person skilled inthe relevant art will recognize that other components and configurationsmay be used without parting from the spirit and scope of the disclosure.

The disclosed technology addresses the need in the art for an efficientmeans to value online advertisement slots based on the attentiveness ofthe target audience. Advertisers will place a premium on a slot thatdelivers content when a user is attentive and therefore most likely tobe receptive to the advertisement. In particular, the present technologyis directed to systems, methods, devices, and non-transitorycomputer-readable storage media providing valuation for the advertisingslot based on user attentiveness.

Prior to discussing the present technology in detail, a briefintroductory description of an exemplary configuration of devices and anetwork is disclosed herein. A detailed description of the variousaspects of the present technology will then follow. These variationsshall be described herein as the various embodiments are set forth.

An exemplary system configuration 100 is illustrated in FIG. 1, whereinelectronic devices communicate via a network for purposes of exchangingcontent and other data. The system can be configured for use on a widearea network such as that illustrated in FIG. 1. However, the presentprinciples are applicable to a wide variety of network configurationsthat facilitate the intercommunication of electronic devices. Forexample, each of the components of system 100 in FIG. 1 can beimplemented in a localized or distributed fashion in a network.

In system 100, invitational content can be delivered to user terminals102 ₁, 102 ₂, . . . , 102 _(n) (collectively “102”) connected to anetwork 104 by direct and/or indirect communications with a contentdelivery system 106. User terminals 102 can be any network enabledclient devices, such as desktop computers; mobile computers; handheldcommunications devices, e.g. mobile phones, smart phones, tablets; smarttelevisions; set-top boxes; and/or any other network enabled computingdevices. Furthermore, content delivery system 106 can concurrentlyaccept connections from and interact with multiple user terminals 102.

The content delivery system 106 can receive a request for electroniccontent, such as a web page, an application, a media item, etc., fromone of user terminals 102. Thereafter, the content delivery system 106can assemble a content package and transmit the assembled content pageto the requesting one of user terminals 102. To facilitatecommunications with the user terminals 102 and/or any other device orcomponent, the content delivery system 106 can include a communicationsinterface 107.

The content delivery system 106 can include a content management module108 to facilitate the generation of an assembled content package.Specifically, the content management module 108 can combine content fromone or more primary content providers 110 ₁, 110 ₂, . . . , 110 _(n)(collectively “110”) and content from one or more secondary contentproviders 114 ₁, 114 ₂, . . . 114 _(n) (collectively “114”) to generatethe assembled content package for the user terminals 102. For example,in the case of a web page being delivered to a requesting one of userterminals 102, the content management module 108 can assemble a contentpackage by requesting the data for the web page from one of the primarycontent providers 110 maintaining the web page. For the invitationalcontent on the web page provided by the secondary content providers 114,the content management module 108 can request the appropriate dataaccording to the arrangement between the primary and secondary contentproviders 110 and 114. Additionally, the content management module 108can create content packages that contain content from a single contentprovider. That is, a content package can contain only primary content ora content package can contain only secondary content. However, thecontent package is not limited to the content from content providers 110and 114. Rather, the content package can include other data generated atthe content delivery system 106. In some embodiments, the contentdelivery system 106 can preselect the content package before a requestis received.

An assembled content package can include text, graphics, audio, video,executable code, or any combination thereof. Further, an assembledcontent package can include invitational content designed to inform orelicit a pre-defined response from the user. In some embodiments, theinvitational content can be associated with a product or can directly orindirectly advertise a product. For example, the assembled contentpackage can include one or more types of advertisements from one or moreadvertisers.

Additionally, the invitational content can be active invitationalcontent. That is, invitational content that is designed to primarilyelicit a pre-defined response from a user. For example, activeinvitational content can include one or more types of advertisementsconfigured to be clicked upon, solicit information, or be converted bythe user into a further action, such as a purchase or a download of theadvertised item. However, invitational content can also be passiveinvitational content. That is invitational content that is designed toprimarily inform the user, such as a video. In some cases, passiveinvitational content can include information that can lead or directusers to other invitational content including active invitationalcontent.

Furthermore, the invitational content can be dynamic invitationalcontent. That is invitational content that varies over time or thatvaries based on user interaction. For example, dynamic invitationalcontent can include an interactive game. However, the variousembodiments are not limited in this regard and the invitational contentcan include static invitational content that neither varies over timenor with user interaction. In the various embodiments, invitationalcontent in a content package can be static or dynamic and active orpassive. A content package can include a combination of various types ofinvitational content in a single content package.

In some cases, a content package can replace or update invitationalcontent in a content package already delivered to a user terminal. Forexample, a first content package can include an app that can beinstalled on the user terminal 102 _(i). A subsequent content packagecan include one or more items of invitational content that can bepresented to a user of the user terminal 102 _(i) while the userinteracts with the app.

Although primary and secondary providers 110 and 114 are presentedherein as separate entities, this is for illustrative purposes only. Insome cases, the primary and the secondary content providers 110 and 114can be the same entity. Thus, a single entity can provide both theprimary and the secondary content.

The content management module 108 can be configured to request thatcontent be sent directly from content providers 110 and 114.Alternatively, a cached arrangement can also be used to improveperformance of the content delivery system 106 and improve overall userexperience. That is, the content delivery system 106 can include acontent database 112 for locally storing/caching content maintained bycontent providers 110 and 114. The data in the content database 112 canbe refreshed or updated on a regular basis to ensure that the content inthe database 112 is up to date at the time of a request from a userterminal 102 i. However, in some cases, the content management module108 can be configured to retrieve content directly from contentproviders 110 and 114 if the metadata associated with the data in thecontent database 112 appears to be outdated or corrupted.

As described above, content maintained by the content providers 110 and114 can be combined according to a predefined arrangement between thetwo content providers, which can be embodied as a set of rules. In anarrangement where the content delivery system 106 assembles the contentpackage from multiple content providers, the assembly rules can bestored in a rules database 116 in the content delivery system 106. Thecontent management module 108 can be configured to assemble the contentpackage for user terminals 102 based on these rules. The rules canspecify how to select content from secondary content providers 110 andprimary content providers 109 in response to a request from one of userterminals 102. For example, in the case of a web page maintained by oneof primary content providers 109 and including invitational content, therules database 116 can specify rules for selecting one of the secondaryproviders 110. The rules can also specify how to select specific contentfrom the selected one of secondary providers 114 to be combined with thecontent provided by one of primary providers 110. In some cases, an itemof primary content, such as an app or other media object, can have oneor more associated attributes. For example, an app can have one or moreassociated genre attributes, e.g. travel, sports, education, etc. A rulecan be based at least in part on the primary content attributes. Onceassembled, the assembled content package can be sent to a requesting oneof user terminals 102.

Additionally, rules for combining primary and secondary content can bebased on user characteristics known about the user. In particular, insome cases, invitational content can be selected based on thecharacteristics of the requesting user(s). As used herein, the term“user characteristics” refers to the characteristics of a particularuser associated with one or more of user terminals 102. Usercharacteristics can include channel characteristics, demographiccharacteristics, behavioral characteristics, and spatial-temporalcharacteristics. Channel characteristics can define the specificdelivery channel being used to deliver a content package to a user. Forexample, channel characteristics can include a type of electroniccontent, a type of device or user terminal, a carrier or networkprovider, or any other characteristic that defines a specific deliverychannel for the content package. Spatial-temporal characteristics candefine a location, a location zone, a date, a time, or any othercharacteristic that defines a geographic location and/or a time fordelivery of the content package. Demographic characteristics can definecharacteristics of the users targeted by the content or associated withthe content. For example, demographic characteristics can include age,income, ethnicity, gender, occupation, or any other usercharacteristics. Behavioral characteristics can define user behaviorsfor one or more different types of content, separately or in combinationwith any other user characteristics. That is, different behavioralcharacteristics may be associated with different channel, demographic,or spatial-temporal characteristics. User characteristics can alsoinclude characteristics descriptive of a user's state of mind includingcharacteristics indicative of how likely a user is to click on orconvert an item of invitational content if it were displayed to theuser. User characteristics can be learned directly or derived indirectlyfrom a variety of sources. In some embodiments, the user characteristicvalues can be collected from one or more databases. For example, if theuser is registered with an online media service, such as the ITUNESstore maintained by Apple Inc. of Cupertino, Calif., the collected datacould include the user's registration information. Such data can providevalues for declared user characteristics. Furthermore, the contentdelivery system 106 can be configured to learn of or derive usercharacteristics from any number of other information sources. Forexample, in some configurations, the content delivery system 106 canderive or infer one or more user characteristic values from usercharacteristic values already known about the user.

In some embodiments, the interactive content can be associated with oneor more targeted segments. A targeted segment can be viewed as defininga space or region in k-dimensional space, where each of the k dimensionsis associated with one of a plurality of user characteristics. In thevarious embodiments, the k dimensions can include both orthogonal andnon-orthogonal dimensions. That is, some of the k dimensions can overlapor can be related in some aspect.

In the various embodiments, the content delivery system 106 can alsoinclude a unique user identifier (UUID) database 115 that can be usedfor managing sessions with the various user terminal devices 102. TheUUID database 115 can be used with a variety of session managementtechniques. For example, the content delivery system 106 can implementan HTTP cookie or any other conventional session management method(e.g., IP address tracking, URL query strings, hidden form fields,window name tracking, authentication methods, and local shared objects)for user terminals 102 connected to content delivery system 106 via asubstantially persistent network session. However, other methods can beused as well. For example, in the case of handheld communicationsdevices, e.g. mobile phones, smart phones, tablets, or other types ofuser terminals connecting using multiple or non-persistent networksessions, multiple requests for content from such devices may beassigned to a same entry in the UUID database 115. The content deliverysystem 106 can analyze the attributes of requesting devices to determinewhether such requests can be attributed to the same device. Suchattributes can include device or group-specific attributes.

In some embodiments, the content delivery system 106 can include auser-profile database 120. The user-profile database 120 can, at leastin part, be constructed based on declared user characteristics relatedto one or more users. In some cases, the user-profile database maycontain inferred or derived user characteristic values. The user-profiledatabase 120 can be updated using a user-profile-updater module 118. Insome embodiments, the user-profile-updater module 118 can be configuredto add additional profile data, update profile data, fill in missingprofile data, or infer user characteristic values from declared data.

The user-profile-updater module 118 can also be configured to maintainthe user-profile database 120 to include only more recently acquireddata or to re-derive any inferred characteristics in order to ensurethat the user profile is an accurate reflection of the current state ofthe user (location, state of mind, behaviors, demographics, etc. canchange rapidly). For example, the user-profile-updater module 118 can beconfigured to maintain the user-profile database 120 to include onlydata from the last two to three months. However, theuser-profile-updater module 118 can be configured to adjust the data inthe user-profile database 120 to cover any span of time. In someinstances the user-profile-updater module 118 can update the profiledatabase 120 in real-time. Alternatively, the user-profile-updatermodule 118 can be configured to set an expiration period on a subset ofthe data in the user-profile database 120. For example, a policy canspecify that user declared data is maintained as long as the useraccount is active, but user characteristic values based on locationinformation expire after a specified period of time. In some cases, auser can set the expiration period. In some instances, theuser-profile-updater module 118 can update the user-profile database 120at least every week, or every day. In some cases, the content deliverysystem 106 can receive a direct request to update one or more userprofiles. The update request can come directly from the user's device orany other device capable of communicating with the content deliverysystem 106, such as other content delivery networks or websites. In somecases, the content delivery system 106 can receive an indirect requestto update one or more user profiles. An indirect request can be theresult of receiving new user characteristic values. An update requestcan occur at any time.

In some embodiments, the content delivery system 106 can include asegment database 124 that is used to aid in selecting invitationalcontent to target to users. The segment database 124 can store definedsegments and associations between the segments and users and/orinvitational content that should be targeted to users associated withthe segments. As described above, a targeted segment can be definedbased on one or more user characteristics or derivatives thereof and canbe associated with one or more items of invitational content.Additionally, a targeted segment can be associated with one or moreusers. In some embodiments, by associating a targeted segment with botha user and an item of invitational content, the delivery system canmatch invitational content with users. In some embodiments, the contentdelivery system 106 can update the segment database 124 to add newlydefined targeted segments or to delete targeted segments.

In some cases a targeted segment can be as simple as a single usercharacteristic identifier and a single user characteristic value. Forexample, the common demographic identifiers of gender, age, occupation,or income can each be used in defining corresponding targeted segments.A characteristic value can also be assigned to the identifier. Forexample, the values of male, 19, and student can be assigned to the usercharacteristics of gender, age, and occupation, respectively. However,more complex targeted segments can also be defined that consist of oneor more identifiers with one or more values associated with eachidentifier. For example, a targeted segment can be defined to target auser with the following characteristics: gender, male; age, 19-24;location, Northern California or New York City. Furthermore, targetedsegments can correspond to one or more segments that content providersare likely to easily understand and thus can quickly identify as beingrelevant to their content. Additionally, in some embodiments, contentproviders 110 and 114 can define a custom targeted segment.

In some embodiments, the content delivery system 106 can provide asegment assigner module 130. The segment assigner module 130 can apply aset of user characteristics associated with a user (including segmentsto which a user has been previously assigned) to assign the user to oneor more targeted segments. The assigner module 130 can obtain the set ofuser characteristic values from the user-profile database 120 and/orfrom the user's activities during the current session. The segmentassigner module 130 can assign a user to one or more defined targetedsegments in the segment database 124, or alternatively, a user can beassigned to a custom targeted segment defined to meet specific goals ofa content provider.

Based on the assigned segments, the user-profile database 120 can beupdated to reflect the segment assignments. Additionally, the contentdelivery system 106 can use the segment assignments to select targetedcontent. In some cases, the user profile data in the user-profiledatabase 120 can change over time so the segment assigner module 130 canbe configured to periodically update the segment assignments in theuser-profile database 120. The segment assignment update can betriggered at specified intervals, upon detection of a change in theuser-profile database 120, and/or upon detection of a specified activityin the content delivery system 106.

In some embodiments, the content delivery system 106 can provide aprioritizer module 128. The prioritizer module 128 can perform a varietyof prioritizing tasks based on the configuration of the content deliverysystem 106. In some configurations, the prioritizer module 128 canprioritize the targeted segments assigned to a user. The prioritizationcan be influenced by a number of factors, which can include the user'scontext, a content provider's campaign goals, and/or the content that iscurrently available for display to the user. A request to prioritize thetargeted segments can be explicit or implicit and can be made by anycomponent of the system 100. For example, a secondary content provider114 can explicitly request that the content delivery system 106prioritize the targeted segments or the request can be implicit as partof a request for a content package. The resulting prioritized list canbe provided, for example, to the content management module 108, whichcan then use the information to assemble and deliver a content package.Additionally, the prioritized list can be stored, for example in theuser profile, for later use.

While the content delivery system 106 is presented with specificcomponents, it should be understood by one skilled in the art, that thearchitectural configuration of system 106 is simply one possibleconfiguration and that other configurations with more or less componentsare also possible.

One aspect of the present technology is the gathering and use of dataavailable from various sources to improve the delivery to users ofinvitational content or any other content that may be of interest tothem. The present disclosure contemplates that in some instances, thisgathered data may include personal information data that uniquelyidentifies or can be used to contact or locate a specific person. Suchpersonal information data can include demographic data, location-baseddata, telephone numbers, email addresses, twitter ID's, home addresses,or any other identifying information.

The present disclosure recognizes that the use of such personalinformation data, in the present technology, can be used to the benefitof users. For example, the personal information data can be used todeliver targeted content that is of greater interest to the user.Accordingly, use of such personal information data enables calculatedcontrol of the delivered content. Further, other uses for personalinformation data that benefit the user are also contemplated by thepresent disclosure.

The present disclosure further contemplates that the entitiesresponsible for the collection, analysis, disclosure, transfer, storage,or other use of such personal information data will comply withwell-established privacy policies and/or privacy practices. Inparticular, such entities should implement and consistently use privacypolicies and practices that are generally recognized as meeting orexceeding industry or governmental requirements for maintaining personalinformation data private and secure. For example, personal informationfrom users should be collected for legitimate and reasonable uses of theentity and not shared or sold outside of those legitimate uses. Further,such collection should occur only after receiving the informed consentof the users. Additionally, such entities would take any needed stepsfor safeguarding and securing access to such personal information dataand ensuring that others with access to the personal information dataadhere to their privacy policies and procedures. Further, such entitiescan subject themselves to evaluation by third parties to certify theiradherence to widely accepted privacy policies and practices.

Despite the foregoing, the present disclosure also contemplatesembodiments in which users selectively block the use of, or access to,personal information data. That is, the present disclosure contemplatesthat hardware and/or software elements can be provided to prevent orblock access to such personal information data. For example, in the caseof advertisement delivery services, the present technology can beconfigured to allow users to select to “opt in” or “opt out” ofparticipation in the collection of personal information data duringregistration for services. In another example, users can select not toprovide location information for targeted content delivery services. Inyet another example, users can select to not provide precise locationinformation, but permit the transfer of location zone information.

Therefore, although the present disclosure broadly covers use ofpersonal information data to implement one or more various disclosedembodiments, the present disclosure also contemplates that the variousembodiments can also be implemented without the need for accessing suchpersonal information data. That is, the various embodiments of thepresent technology are not rendered inoperable due to the lack of all ora portion of such personal information data. For example, content can beselected and delivered to users by inferring preferences based onnon-personal information data or a bare minimum amount of personalinformation, such as the content being requested by the deviceassociated with a user, other non-personal information available to thecontent delivery services, or publically available information.

To implement the various embodiments of the present technology, thecontent delivery system 106 can include additional components. As notedabove, one aspect of the present technology is to detect events on aclient device and use that information to valuate slots for deliveringadvertising to the client device. To this end, the content managementsystem 106 can further include an event monitor 126, an event database117, and a pricing engine 122.

The event monitor 126 works in conjunction with the communicationsinterface 107 to communicate with the user terminals 102 over thenetwork 104. In particular, the event monitor 126 will request orreceive data from the user terminals 102 regarding the events takingplace on the user terminals 102. The events can be reported by thedevice 102 _(i) or by way of an application that is running on thedevice 102 _(i). In some configuration, the events can be reported asthey occur in real-time. Alternatively, the events can be maintained inan activity log that is saved on the device 102 _(i). This activity logor the contents therein can be reported periodically, at pre-definedtimes, in response to pre-defined events or conditions, or it can bereported upon receiving a request from the event monitor 126 for eventinformation.

The event monitor 126 can then process or parse the event data and storeit on the event database 117. The event database 117 can maintain therecords of the different user events detected on the user terminals 102.Examples of items that these records can include are: the type of event,the time of the event, and the application used (if any) during theevent. The pricing engine 122 can then access the information stored onthe event database 117 and perform the necessary steps to obtain a costof a slot for an invitational content item to be delivered to userterminal 102 _(i).

Now that some basic concepts have been set forth, the present disclosureturns to a more detailed description of the present technology. Asdiscussed above, the present technology is directed to systems andmethods to valuate slots for the delivery of invitational content basedon events detected on the client device. The following figures provideexemplary systems and methods for practicing the present technology.

Turning now to FIG. 2, an operation of the slot valuation process willbe discussed in greater detail. FIG. 2 is a flowchart of steps in anexemplary method 200 for valuing an invitational content slot based onan event. Method 200 begins at step 202 and continues to step 204. Atstep 204, the content delivery system, an example of which is anadvertising server (“ad server”), commences monitoring the client devicefor any number of events.

An event can include a user interaction with the client device. A userinteraction can be further defined to include affirmative acts by theuser as well as passive acts or the absence of an affirmative act. Inone example, the ad server observes that the client device has launcheda music playing application, such as ITUNES RADIO maintained by AppleInc. of Cupertino, Calif. Launching such an application would qualify asan event because this is a user interaction. Furthermore, as the deviceuser utilizes the music playing application on the client device, the adserver can take notice of events such as changing the radio station,skipping a song, purchasing a song, rating a song, rating an artist,creating playlists, sharing radio stations, and creating new radiostations. All of these actions are defined as events. Additionalexamples of events include user interactions with features that allow auser to customize a particular radio station by selecting options suchas “Never Play This” or “Play More Like This.” The server can alsomonitor for events on the client device to determine if the applicationhas been paused, shut down, or if it has been minimized such that it isrunning in the background while the device user performs other functionswith the client device.

Furthermore, as mentioned above, an event can also include a passiveactivity such as listening to the mobile user's favorite radio station.A favorite radio station can be explicitly defined in the application orit can be inferred based on the past usage patterns. Also, an event isdefined to include listening to one of the mobile user's favorite songs.A favorite song can be explicitly defined in the application or it canbe inferred based on usage patterns such as having a low “skip” rateover a number of times played. An even also includes the absence of anaffirmative act by the device user when one might normally be expected.For example, if the radio station is playing a song that the device userregularly skips, the lack of a “skip” command is classified as an event.

Although the present technology is described herein generally withrespect to a media player application, the present technology can alsobe applied to other types of applications. For example, the presenttechnology can be used with navigation applications, such as GPSnavigation applications. In GPS navigation, it is common to have alimited amount of interaction with the device. That is, after thedestination is entered by the user into the GPS application, the deviceuser need not perform any affirmative actions to maintain attentivenessto the client device. However, the client device can detect if thedevice user is following the directions that the application isproviding and paying attention to the application. For example, the actof turning left when the application instructs that a left turn isrequired can be classified as an event. Likewise, disregarding thenavigation instructions provided by the application can also be regardedas an event. Based on this attentiveness, slots or opportunities forinvitational content can be priced accordingly.

In such configurations, the ad server can monitor the client device todetect the events in several different ways. As discussed above, theclient device can maintain a localized history log of events that haveoccurred on the client device. This log can contain information such asthe time/duration of the event, any application data associated with theevent, and a description of the event. The client device can providethis information to the ad server in real-time, on a periodic basis, orupon request. Alternatively, each application that runs on the clientdevice can be responsible for maintaining its own event log. The clientdevice can collect the information from the applications for centralizedmanagement, or the application can report the activity to the ad serverdirectly.

Referring back to FIG. 2, at step 206 it is determined whether or not anevent was detected. If none has been detected, the method returns tostep 204 and continues to monitor the client device. If an event isdetected at step 206, the method 200 proceeds to step 208. At step 208,the server classifies the client device according to the particularevent that was detected by step 206.

The device classification can take into account a number of differentfactors. For example, the classification can be an activity mode that isbased on the time that has elapsed since the event. If very little timehas elapsed, then the client device can be classified as having anattentive user mode. As more time passes from the event, theclassification can progressively change until it is determined that theclient device is being employed in a passive user mode. For example,when the device user launches an application, the device can beclassified as having an attentive user mode for the next 15 minutes.After that, if no new events are detected, the device can be classifiedas having a passive user mode. The actual time used to classify aparticular activity mode can vary among device users and amongapplications. For instance, a location-based or navigation applicationcan have an extended time for the attentive user mode because it can beinferred that the device user is maintaining attentiveness for longerperiods of time despite the lack of user interaction with the clientdevice.

In addition, the activity mode is affected by patterns of knownbehaviors that include passive activities. For example, when a favoritesong is played, the client device can be classified as having anattentive user mode for a longer period of time, despite the lack of anevent detected on the device. Likewise, if a song that the device userregularly skips plays uninterrupted, the device can be classified as apassive user mode despite the detection of a recent event on the clientdevice.

Another way that the classification of the client device can be made isby assigning different scoring factors to the event types detected bystep 206 to determine a device user's present mood. For instance, priorto detecting any events, the device can be classified as having a“neutral” perceived mood. If the mobile user provides positive feedbackby purchasing a song or by “liking” a song or artist, then such an eventcan carry a “positive” scoring factor and it can be inferred that themobile user is presently tending towards a positive disposition and maybe more receptive to invitational content and providing a conversion.Thus, slots for invitational content during these times can beconsidered “premium” for a limited time and a higher cost can beattributed. Alternatively, the mood can be used to extend the amount oftime that would normally be attributed based on attentiveness alone.Likewise, if the mobile user expresses distaste by performing actionssuch as skipping a song or changing the radio station, then such eventscan carry a “negative” scoring factor and it can be inferred that themobile user is presently tending towards a negative disposition. Thus,the user may not be as receptive to invitational content. Thus, inaddition to using cost to control slot pricing, the mood can be used toreduce the amount of time that would normally be attributed based onattentiveness alone.

As such, the client device can be classified according to the perceivedmood of the mobile user. The perceived mood classification can bequantified by assigning scoring factors to the different events.Accordingly, the present technology can combine any number of events andclassify the perceived mood of the device using the scoring factors.Also, scoring factors for specific events can be weighted differently bythe present technology. The scoring factors and weights can be pre-setvalues that can also be adjusted as the present technology gathers datafrom a particular device user. As noted above, this classification basedon perceived mood can be used independently or in conjunction with anyother classification, such as the aforementioned activity mode.

Referring back to FIG. 2, at step 210 the server determines the cost foran advertising slot on the client device based on the classification ofthe client device that was established in step 208. The cost of the slotis higher if the client device is classified as having an attentive usermode as opposed to a passive user mode. Likewise, the cost is higher ifthe classification carries with it a “positive” perceived mood asopposed to a “negative” or “neutral” perceived mood. Note that theclassifications used herein are merely examples that can be assigned toa client device; in practice there are many more classifications andcombinations thereof that can be used to determine the cost of theadvertising slot.

Furthermore, at step 210 the server can obtain the cost for theadvertising slot in a number of different ways. The cost for theadvertising slot can be calculated by using a set formula that is afunction of the present client device classification. The cost for theadvertising slot may also be obtained by way of a lookup table or asimilar query process performed by the server. Alternatively, the costfor the advertising slot can be provided to the server by acommunicatively coupled device such as another server. In addition, thecost for the advertising slot can be affected by a number of otherfactors besides the present client device classification. The server canmanage many requirements for different advertising campaigns that canimpact the cost for a particular advertising slot. However, the presenttechnology is one of the factors used to determine the cost of theadvertising slot.

Returning to method 200, at step 212 the ad server receives a requestfor an invitational content item from the client device or from anapplication that is running on the client device. In response to thisrequest, the method proceeds to step 214 wherein the server provides anadvertisement to the client device at a designated time slot. Theadvertisement can be of the “banner” type that the device receives andplaces somewhere on the visual display where a user can see it. Thistype of ad can be displayed at any time, regardless of whether or not asong is being played. The advertisement may further contemplate aconversion feature such as a “click-back” function that will allow thedevice user to interact with the advertisement by selecting it throughsome interaction with the device. Alternatively, the advertisement canbe in the form of interstitial audio or video that is presented betweensongs. Once the advertisement is provided to the client device, themethod continues to step 216 to resume previous processing, includingrepeating method 200.

From the foregoing, the advantages of the present technology becomeapparent. By monitoring the client device for events, invitationalcontent slots can be valued much more accurately based on the deviceuser's level of attentiveness and current disposition. An advertiserthat wants to ensure the invitational content item is delivered at atime slot when the user is most receptive can be offered such a slot ata premium. Associating the cost of particular slots with differentdevice classifications thus allows advertisers to better plan forprospective advertising campaigns. In addition, the present technologyalso allows the advertising server to better manage advertising slots soas to meet the different requirements of the various ongoing advertisingcampaigns. In some instances, advertising campaigns are based on anumber of impressions, which requires the ad server to simply deliverthe invitational content item to a certain number of device users.However, other advertising campaigns carry a conversion requirement thatnecessitates user feedback. One example of this is an ad with a“click-back” feature; the server can use the present technology toselect a time slot when it is most likely that a device user will“click” on the ad to meet the conversion requirement.

Now turning to FIG. 3, another operation of the slot valuation processwill be discussed in greater detail. FIG. 3 is a flowchart of steps in asecond exemplary method 300 for valuing an invitational content slotbased on events and on cost windows. Method 300 begins at step 302 andcontinues to step 304. At step 304, the server commences monitoring theclient device for any number of events.

Steps 304 and 306 of method 300 are analogous to steps 204 and 206 ofmethod 200. Additional details for these steps are included above andwill not be repeated here. After an event is detected by step 306,method 300 moves on to identify the advertising slot cost windows at308.

There are a number of different ways to define and identify costwindows. A first example is illustrated by FIG. 4A where a single event320 is detected and the cost windows (422 ₁, 422 ₂, 422 ₃, 422 ₄, 422 ₅)are defined per the time elapsed from the event. Here, the cost foradvertising slot decreases in each consecutive window. The cost of theslot in cost window 422 ₁ will be greater than the cost in the slot 422₂. The cost function is not necessarily linear as there can be small orlarge variations in cost from one window to the next. FIG. 4A containsfive cost windows for illustrative purposes, but the number ofidentified cost windows can range from as little as two to as many asnecessary.

Another example for identifying cost windows is illustrated by FIG. 4B.Here there is a fixed cost for the slot in cost window 435 that followsevent 430. That cost is constant for a set amount of time after whichthe cost reverts to a baseline amount according to cost window 436. Forexample, event 430 can be when the device user tunes the radioapplication to the device user's favorite station. At this point, theserver can use the present technology to assign cost window 435 to havea premium slot cost and to last for a certain number of minutes becausethe device user is engaged with the application. Once the defined timeexpires, the cost can revert to a baseline amount until a next event 432is detected. Event 432 is an example of a type of event that can resultin lowering the cost for a slot in the subsequent cost window 437. Anexample of such an event can be when a song or an artist that the deviceuser is known to dislike is played and the device user does not engagethe skip function, allowing it to play uninterrupted. Here the servercan conclude that the device user is not presently engaged thereforedevaluing the subsequent cost window until another event 434 isdetected.

FIG. 4C illustrates yet another embodiment of a method to define a costwindow. Here, the server will monitor the device user's pattern of usageover time to determine, on average, how frequently the particular deviceuser tends to have events. Once the average time 444 is determined for aparticular device user, the cost window will be defined according tothat time. For example, if it is observed that a particular device usertends to interact with the music playing application every 12 minutes,then the first cost window will be defined to last for 12 minutes. Afterthat time has elapsed, slots will fall into a second cost window untilanother event is detected.

Returning to method 300 of FIG. 3, after the cost windows are identifiedby step 308, the method proceeds to step 310 where it receives a requestfor an invitational content item from the client device. In response tothis request, the server provides an invitational content item to theclient device in step 312. As previously discussed, the invitationalcontent item can be of the “banner” type or it can be interstitial audioor interstitial video or any combination of these.

Once the invitational content item is provided at step 312, the methodwill proceed to step 314 to obtain the cost of the time slot for theinvitational content item. The cost of the time slot will correspond tothe cost window in which the invitational content item was provided tothe client device. The present technology will allow continued usage ofthe identified cost windows for obtaining the cost of subsequent slotsby extending the cost windows indefinitely if no new events aredetected. Once the cost of the slot is obtained, the method continues tostep 316 to continue previous processing, including repeating method300.

Now turning to FIG. 5, another operation of the slot valuation processwill be discussed in greater detail. FIG. 5 is a flowchart of steps in athird exemplary method 500 for selecting an invitational content slotbased on detected events and on cost windows. Method 500 begins at step502 and continues to step 504. At step 504, the server commencesmonitoring the client device for any number of events.

Steps 504, 506, and 508 of method 500 are analogous to steps 404, 406,and 408 of method 400 in FIG. 4. Additional details for these steps areincluded above and will not be repeated here. After the cost windows areidentified by step 508, method 400 moves on to obtain the cost of timeslots for an invitational content item at 510.

Step 510 obtains the cost of one or more time slots based on theidentified cost windows from step 508. Again, this step is analogous tostep 412 in FIG. 4. Thereafter at step 512, the method selects aninvitational content item for the particular slot based on the costobtained at 510. This step allows for a greater level of control for thead server to manage one or more ad campaigns. For example, the ad servercan better handle budget constraints of ad campaigns by selectivelydispatching ads with a lower budgeted campaign during the time slotsthat correspond to low cost windows. Likewise, if a particular adcampaign is nearing its impression count requirement but still has anample budget, the ad server can attempt to exhaust the remaining budgetthrough a lower number of impressions that are dispatched during thepremium valued cost windows.

Once the selection of the appropriate invitational content item is made,the method proceeds to 514 where the ad server receives a request for aninvitational content item from the client device. At 516, the methodprovides the item that was previously selected in step 512 to the clientdevice. The method then continues to step 518 where it returns toprevious processing, including repeating method 500.

Now turning to FIG. 6, another operation of the slot valuation processis illustrated by method 600. The method begins at step 602 and proceedsto monitor the client device at 604. The monitoring performed by step604 and the detection of the user interaction 606 is analogous tosimilar steps in the previous method embodiments and will not bediscussed further.

After an event is detected at 606 the method continues to 608 where thetime of the event is recorded. The method continues to step 610 in whichthe ad server receives a request for an item of invitational contentfrom the client device. At 612, the ad server responds to the requestsby providing an item to the client device. The server can either make aselection upon receiving the request or push an ad from a previouslyestablished queue.

At step 614 the method determines the amount of time that has elapsedfrom the event time 608 to the slot where the invitational content itemwas provided 612. Upon determining the elapsed time, the method obtainsa cost of the particular time slot at 616 based on the elapsed time.

One example of method 600 would be a device user purchasing orrequesting a song via the ITUNES STORE. This event would be detected bystep 606 and the time of the event would be recorded according to step608. Next, the radio application can send a request to the server 610for an invitational content item that is to be played when the songplayback concludes. In response, the server can send an interstitialaudio advertisement 612 that is played immediately after the applicationcompletes playback of the purchased song. The method would thencalculate the amount of time that elapsed 614 from when the userpurchased the song to when the interstitial audio advertisement wasdelivered to the user device. Based on this elapsed time, the cost ofthe slot for the interstitial audio advertisement would be obtained 616,either by way of calculation or through another method such as a lookuptable. In this example, the cost for the particular slot will be valuedat a premium rate because a minimal amount of time elapsed from the userinteraction which means that the device user was most attentive.Furthermore, the event (purchasing a song) was one in which it was verylikely that the device user would maintain attentiveness and would belikely to have a positive disposition.

Turning back to method 600, after the method obtains the cost of theslot for the invitational content item at 616, it continues to 618wherein it resumes previous processing, including repeating method 600.

FIG. 7A illustrates a conventional system bus computing systemarchitecture 700 wherein the components of the system are in electricalcommunication with each other using a bus 705. Exemplary system 700includes a processing unit (CPU or processor) 710 and a system bus 705that couples various system components including the system memory 715,such as read only memory (ROM) 720 and random access memory (RAM) 725,to the processor 710. The system 700 can include a cache of high-speedmemory connected directly with, in close proximity to, or integrated aspart of the processor 710. The system 600 can copy data from the memory715 and/or the storage device 730 to the cache 712 for quick access bythe processor 710. In this way, the cache can provide a performanceboost that avoids processor 710 delays while waiting for data. These andother modules can control or be configured to control the processor 710to perform various actions. Other system memory 715 may be available foruse as well. The memory 715 can include multiple different types ofmemory with different performance characteristics. The processor 710 caninclude any general purpose processor and a hardware module or softwaremodule, such as module 1 732, module 2 734, and module 3 736 stored instorage device 730, configured to control the processor 710 as well as aspecial-purpose processor where software instructions are incorporatedinto the actual processor design. The processor 710 may essentially be acompletely self-contained computing system, containing multiple cores orprocessors, a bus, memory controller, cache, etc. A multi-core processormay be symmetric or asymmetric.

To enable user interaction with the computing device 700, an inputdevice 745 can represent any number of input mechanisms, such as amicrophone for speech, a touch-sensitive screen for gesture or graphicalinput, keyboard, mouse, motion input, speech and so forth. An outputdevice 735 can also be one or more of a number of output mechanismsknown to those of skill in the art. In some instances, multimodalsystems can enable a user to provide multiple types of input tocommunicate with the computing device 700. The communications interface740 can generally govern and manage the user input and system output.There is no restriction on operating on any particular hardwarearrangement and therefore the basic features here may easily besubstituted for improved hardware or firmware arrangements as they aredeveloped.

Storage device 730 is a non-volatile memory and can be a hard disk orother types of computer readable media which can store data that areaccessible by a computer, such as magnetic cassettes, flash memorycards, solid state memory devices, digital versatile disks, cartridges,random access memories (RAMs) 725, read only memory (ROM) 720, andhybrids thereof.

The storage device 730 can include software modules 732, 734, 736 forcontrolling the processor 710. Other hardware or software modules arecontemplated. The storage device 730 can be connected to the system bus705. In one aspect, a hardware module that performs a particularfunction can include the software component stored in acomputer-readable medium in connection with the necessary hardwarecomponents, such as the processor 710, bus 705, display 735, and soforth, to carry out the function.

FIG. 7B illustrates a computer system 750 having a chipset architecturethat can be used in executing the described method and generating anddisplaying a graphical user interface (GUI). Computer system 750 is anexample of computer hardware, software, and firmware that can be used toimplement the disclosed technology. System 750 can include a processor755, representative of any number of physically and/or logicallydistinct resources capable of executing software, firmware, and hardwareconfigured to perform identified computations. Processor 755 cancommunicate with a chipset 660 that can control input to and output fromprocessor 755. In this example, chipset 760 outputs information tooutput 765, such as a display, and can read and write information tostorage device 770, which can include magnetic media, and solid statemedia, for example. Chipset 760 can also read data from and write datato RAM 775. A bridge 780 for interfacing with a variety of userinterface components 785 can be provided for interfacing with chipset760. Such user interface components 785 can include a keyboard, amicrophone, touch detection and processing circuitry, a pointing device,such as a mouse, and so on. In general, inputs to system 750 can comefrom any of a variety of sources, machine generated and/or humangenerated.

Chipset 760 can also interface with one or more communication interfaces790 that can have different physical interfaces. Such communicationinterfaces can include interfaces for wired and wireless local areanetworks, for broadband wireless networks, as well as personal areanetworks. Some applications of the methods for generating, displaying,and using the GUI disclosed herein can include receiving ordereddatasets over the physical interface or be generated by the machineitself by processor 755 analyzing data stored in storage 770 or 775.Further, the machine can receive inputs from a user via user interfacecomponents 785 and execute appropriate functions, such as browsingfunctions by interpreting these inputs using processor 755.

It can be appreciated that exemplary systems 700 and 750 can have morethan one processor 710 or be part of a group or cluster of computingdevices networked together to provide greater processing capability.

For clarity of explanation, in some instances the present technology maybe presented as including individual functional blocks includingfunctional blocks comprising devices, device components, steps orroutines in a method embodied in software, or combinations of hardwareand software.

In some embodiments the computer-readable storage devices, mediums, andmemories can include a cable or wireless signal containing a bit streamand the like. However, when mentioned, non-transitory computer-readablestorage media expressly exclude media such as energy, carrier signals,electromagnetic waves, and signals per se.

Methods according to the above-described examples can be implementedusing computer-executable instructions that are stored or otherwiseavailable from computer readable media. Such instructions can comprise,for example, instructions and data which cause or otherwise configure ageneral purpose computer, special purpose computer, or special purposeprocessing device to perform a certain function or group of functions.Portions of computer resources used can be accessible over a network.The computer executable instructions may be, for example, binaries,intermediate format instructions such as assembly language, firmware, orsource code. Examples of computer-readable media that may be used tostore instructions, information used, and/or information created duringmethods according to described examples include magnetic or opticaldisks, flash memory, USB devices provided with non-volatile memory,networked storage devices, and so on.

Devices implementing methods according to these disclosures can comprisehardware, firmware and/or software, and can take any of a variety ofform factors. Typical examples of such form factors include laptops,smart phones, small form factor personal computers, personal digitalassistants, and so on. Functionality described herein also can beembodied in peripherals or add-in cards. Such functionality can also beimplemented on a circuit board among different chips or differentprocesses executing in a single device, by way of further example.

The instructions, media for conveying such instructions, computingresources for executing them, and other structures for supporting suchcomputing resources are means for providing the functions described inthese disclosures.

Although a variety of examples and other information was used to explainaspects within the scope of the appended claims, no limitation of theclaims should be implied based on particular features or arrangements insuch examples, as one of ordinary skill would be able to use theseexamples to derive a wide variety of implementations. Further andalthough some subject matter may have been described in languagespecific to examples of structural features and/or method steps, it isto be understood that the subject matter defined in the appended claimsis not necessarily limited to these described features or acts. Forexample, such functionality can be distributed differently or performedin components other than those identified herein. Rather, the describedfeatures and steps are disclosed as examples of components of systemsand methods within the scope of the appended claims. Claim languagereciting “at least one of” a set indicates that one member of the set ormultiple members of the set satisfy the claim. Tangiblecomputer-readable storage media, computer-readable storage devices, orcomputer-readable memory devices, expressly exclude media such astransitory waves, energy, carrier signals, electromagnetic waves, andsignals per se.

We claim:
 1. A computer-implemented method comprising: detecting one ormore events on a client device having an open slot for one or morecontent items, wherein a first event comprises a first user interactionwith the client device after a presentation of a first content item atthe client device; determining a type of interaction of the first userinteraction with the client device; determining a user interest in thefirst content item based on one or more user interactions with the firstcontent item at the client device; determining a cost of the open slotfor one or more content items based on the type of interaction of thefirst user interaction with the client device, the user interest in thefirst content item, and a cost window comprising a variable time periodthat starts after the first user interaction and runs during thepresentation of the first content item until a second user interactionis detected on the client device, wherein the cost of the open slotdecreases as time elapsed between the first user interaction and thesecond user interaction increases; and providing a second content itemto the client device for the open slot based on the cost.
 2. The methodof claim 1, wherein determining the user interest comprises determining,based on user activity, one of a positive indication of interest or anegative indication of interest.
 3. The method of claim 2, wherein thecost decreases when: the user interest comprises the negative indicationof interest; and the time period associated with the cost window exceedsa threshold amount of time.
 4. The method of claim 2, wherein the costincreases when: the user interest comprises the positive indication ofinterest; and the time period associated with the cost window is below athreshold amount of time.
 5. The method of claim 1, further comprising:determining a second cost of a second open slot at the client devicebased on an average amount of time between a plurality of userinteractions detected during a presentation of content at the clientdevice; and providing a third content item to the client device for thesecond open slot based on the second cost.
 6. The method of claim 1,wherein the one or more events comprises at least one event associatedwith a music playing application on the client device, wherein thepresentation of the first content item is associated with a playback ofthe music playing application, and wherein the first user interactioncomprises a user input via the music playing application during theplayback of the music playing application.
 7. A computer implementedmethod comprising: detecting a first user interaction with a clientdevice that has an open slot for content items, the first userinteraction being associated with a presentation of content at theclient device; identifying a plurality of cost windows for the open slotbased on the first user interaction, the plurality of cost windowscomprising a first cost window comprising a fixed period of time afterthe first user interaction and a second cost window comprising avariable period of time that starts after the fixed period of time andcontinues until a second user interaction is detected at the clientdevice, wherein a respective cost of the second cost window decreases asan amount of time elapsed between an end of the fixed period of time andthe second user interaction increases, and wherein the first cost windowassociated with the fixed period of time has a higher cost than therespective cost of the second cost window associated with the additionalperiod of time; detecting the second user interaction at the clientdevice, the second user interaction being after the fixed period oftime; providing a content item to the client device for the open slot,the content item being provided at one of the first cost window or thesecond cost window; and obtaining a particular cost of the open slot forthe content item, wherein the particular cost is based on whether thecontent item is provided at the first cost window or the second costwindow, the particular cost comprising the second cost when the contentitem is provided at the first cost window and the first cost when thecontent item is provided at the second cost window.
 8. The method ofclaim 7, wherein the variable period of time is triggered uponexpiration of the fixed period of time and terminates when the seconduser interaction is detected after the fixed period of time, wherein thefirst user interaction comprises skipping a song in a music application,and wherein the fixed period of time begins after the skipping of thesong in the music application.
 9. The method of claim 7, wherein thefixed period of time is based on an average period of time betweenevents detected over a predetermined period of time.
 10. The method ofclaim 7, wherein the first user interaction comprises a user interactionwith a music application on the client device during a playback of musiccontent via the music application.
 11. The method of claim 7, whereinthe first user interaction comprises launching of an application at theclient device, wherein the first cost window comprises the fixed periodof time after the launching of the application at the client device, andwherein the second cost window comprises the variable period of timethat starts after the fixed period of time and continues until thesecond user interaction with the application launched at the clientdevice.
 12. The method of claim 11, wherein the first user interactioncomprises interacting with a media item during playback of the mediaitem in the media application, wherein the first cost window comprisesthe fixed period of time after interacting with the media item duringplayback of the media item.
 13. A system, comprising: one or moreprocessors; and at least one computer readable medium having storedthereon instructions which, when executed by the one or more processors,cause the system to: detect a first user interaction with client devicethat has an open slot for content items, the first user interactionbeing associated with a presentation of content at system; identify aplurality of cost windows for the open slot based on the first userinteraction, the plurality of cost windows comprising a first costwindow comprising a fixed period of time after the first userinteraction and a second cost window comprising a variable period oftime that starts after the fixed period of time and continues until asecond user interaction at the client device, wherein a respective costof the second cost window decreases as an amount of time elapsed betweenan end of the fixed period of time and the second user interactionincreases, and wherein the first cost window associated with the fixedperiod of time has a higher cost than the respective cost of the secondcost window associated with the variable period of time; detect thesecond user interaction at the client device, the second userinteraction being after the fixed period of time; obtain a particularcost of the open slot for a content item based on the first cost windowand the second cost window, wherein the particular cost is based onwhether the content item is provided at the first cost window or thesecond cost window, the particular cost comprising the second cost whenthe content item is provided at the first cost window and the first costwhen the content item is provided at the second cost window; select thecontent item for the open slot based on the particular cost; and providethe content item to the client device for the open slot at one of thefirst cost window or the second cost window associated with theparticular cost.
 14. The system of claim 13, wherein the additionalperiod of time is triggered upon expiration of the fixed period of timeand ends when the second user interaction is detected after the fixedperiod of time, wherein the first user interaction comprises skipping asong in a music application, and wherein the fixed period of time beginsafter the skipping of the song in the music application.
 15. The systemof claim 13, wherein the fixed period of time is based on an averageperiod of time between events detected over a predetermined period oftime.
 16. The system of claim 13, wherein the first user interactioncomprises a user interaction with a music application during a playbackof music content via the music application.
 17. The system of claim 13,wherein the first user interaction comprises launching an application atthe client device.
 18. The system of claim 13, wherein the first userinteraction comprises rating a song in a music application, wherein thefixed period of time beings after the rating of the song in the musicapplication.
 19. A system comprising: one or more processors; and atleast one computer-readable storage medium storing instructions which,when executed by the one or more processors, cause the system to performoperations comprising: detecting one or more on a client device that hasan open slot for content, wherein a first event comprises a first userinteraction with the client device after a presentation of a firstcontent item at the client device; determining a type of interaction ofthe first user interaction with the client device; determining a userinterest in the first content item based on one or more userinteractions with the first content item at the client device;determining a cost of the open slot for one or more content items basedon the type of interaction of the first user interaction with the clientdevice, a cost window comprising a variable time period that startsafter the first user interaction and runs during the presentation of thefirst content item until a second user interaction is detected on theclient device, and the user interest in the first content item, whereinthe cost of the open slot decreases as time elapsed between the firstuser interaction and the second user interaction increases; andproviding a second content item to the client device for the open slotbased on the cost of the open slot.
 20. The system of claim 19, whereindetermining the user interest comprises determining a moodclassification for the client device, wherein the mood classificationcomprises at least a positive mood and a negative mood.
 21. The systemof claim 20, wherein the positive mood causes an increase in the costfor the open slot.
 22. A non-transitory computer-readable storage mediumcomprising: instructions stored therein which, when executed by one ormore processors, cause the one or more processors to: detect one or moreon a client device with an open slot for content, wherein a first eventcomprises a first user interaction with the client device after apresentation of a first content item at the client device; determine atype of interaction of the first user interaction with the clientdevice; determine a user interest in the first content item based on oneor more user interactions with the first content item at the clientdevice; determine a cost of the open slot for one or more content itemsbased on the type of interaction of the first user interaction with theclient device, a cost window comprising a variable time period thatstarts after the first user interaction and runs during the presentationof the first content item until a second user interaction is detected onthe client device, and the user interest in the first content item,wherein the cost of the open slot decreases as time elapsed between thefirst user interaction and the second user interaction increases; andprovide a second content item to the client device for the open slotbased on the cost.
 23. The non-transitory computer-readable storagemedium of claim 22, wherein determining the user interest comprisesdetermining, based on user activity, one of a positive indication ofinterest or a negative indication of interest.
 24. The non-transitorycomputer-readable storage medium of claim 23, wherein the cost decreaseswhen: the user interest comprises the negative indication of interest;and the time period associated with the cost window exceeds a thresholdamount of time.
 25. The non-transitory computer-readable storage mediumof claim 23, wherein the type of interaction of the first userinteraction with the client device comprises a user input on the clientdevice during the presentation of the first content item, and whereinthe first user interaction comprises an interaction with a playback of amusic playing application on the client device.